/**
 * 
 */
package soa.security.dao;

import java.util.List;

import org.springframework.ldap.query.SearchScope;

import soa.security.domain.Person;
import soa.security.domain.Role;

/**
 * @author Cre.Gu
 *
 */
public interface RoleDao extends SpringLdapDao<Role> {
	List<Role> allRoles(String baseDn, SearchScope searchScope);

	void addPersons(Role role, Person person);

	void removePersons(Role role, Person person);

	List<String> allPersons(Role role);

	void addSubRoles(Role role, Role subRole);

	void removeSubRoles(Role role, Role subRole);

	List<String> allSubRoles(Role role);
}
